/*
 * graph.h
 *
 *  Created on: 26.9.2011
 *      Author: duke
 */

#ifndef GRAPH_H_
#define GRAPH_H_

#include <vector>
#include "dynamic_array.h"
#include "edge.h"

using namespace std;

class graph {
public:
	graph();
	graph(dynamic_array);
	/*graph(vector<edge>);*/
	int numOfEdges();
	vector<edge> getAllEdges();
	bool isTriangleFree();
	vector<edge> getEdges(int);
	void setEdges(vector<edge> );
	void setEdgeColor(int, int);
	int getEdgeColor(int);
	void print();

private:
	dynamic_array adjacency;
	vector<edge> edges;
};

#endif /* GRAPH_H_ */
